Technical Q&A QA1145
Preserving embedded ICC profiles when using QuickTime Graphics Importer/Exporters


Q: ICC ÉvÉçÉtÉ@ÉCÉãÇ™ñÑÇflçûÇ‹ÇÍǃǢÇÈÇ¢Ç≠ǬǩÇÃâÊëúÉtÉ@ÉCÉãÇéùǡǃǢNjÇ∑ÅBDZÇÍÇÁÇÃâÊëúÇÉCÉìÉ|Å[ÉgǵǃëÄçÏǵÅAǪÇÃå„Ç≥NjǥNjǻå`éÆÇ÷ÉGÉNÉXÉ|Å[ÉgÇ∑ÇÈÇÃÇ…ÅAQuickTime ÇÃÉOÉâÉtÉBÉbÉNÉXÉCÉìÉ|Å[É^ÇΔÉOÉâÉtÉBÉbÉNÉXÉGÉNÉXÉ|Å[É^ÇÃÉãÅ[É`ÉìÇégǡǃǢNjÇ∑ÅBǵǩǵÅAâÊëúÇÉGÉNÉXÉ|Å[ÉgÇ∑ÇÈÇΔÅAICC ÉvÉçÉtÉ@ÉCÉãǙǻÇ≠Ç»ÇÈDZÇΔÇ…ãCÇ™ïtǴNjǵÇΩÅBICC ÉvÉçÉtÉ@ÉCÉãÇà€éùÇ∑ÇÈÇ…ÇÕǫǧÇ∑ÇÍÇŒÇÊÇ¢ÇÃÇ≈ǵÇÂǧǩÅH

A: Ç‹Ç∏ÅAâÊëúÇÃÉCÉìÉ|Å[ÉgéûÇ…ÅAGraphicsImportGetColorSyncProfile ÇégǡǃÅAñÑÇflçûÇ›ÉtÉ@ÉCÉãÇï Ç…ï€ë∂Ç∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBǪÇÃå„ÅAÉGÉNÉXÉ|Å[ÉgëÄçÏéûÇ…ÅAGraphicsExportSetColorSyncProfile ä÷êîÇégǡǃDZÇÃÉvÉçÉtÉ@ÉCÉãÇâÊëúÇ…ñÑÇflçûǛNjÇ∑ÅBÉäÉXÉg 1 ÇÕǪÇÃï˚ñ@Çé¶ÇµÇ‹Ç∑ÅB



OSErr err;
FSSpec importFile, outputFile;
GraphicsImportComponent importer;
GraphicsExportComponent exporter;
Handle profHandle = NULL;
unsigned long actualSizeWritten;

err = GetGraphicsImporterForFile(&importFile, &importer);
if (err == noErr)
{
        /* ñÑÇflçûÇ‹ÇÍǃǢÇÈÉvÉçÉtÉ@ÉCÉãÇï€ë∂Ç∑ÇÈ */
    err = GraphicsImportGetColorSyncProfile(importer, &profHandle);
        /* ÉGÉNÉXÉ|Å[É^ÇéÊìæÇµÅAâÊëúÇÃëÄçÏÇçsǧ */
    err = OpenADefaultComponent(GraphicsExporterComponentType,
                                        kQTFileTypeTIFF, &exporter);
    if (err == noErr)
    {
        err = GraphicsExportSetInputGraphicsImporter(exporter, importer);
        err = GraphicsExportSetDepth (exporter, 24);
              .
              .
              .
        if (profHandle)
        {
            /* ÉGÉNÉXÉ|Å[ÉgÇçsǧëOÇ…ÅAÉvÉçÉtÉ@ÉCÉãÇå≥Ç…ñflÇ∑ */
            err = GraphicsExportSetColorSyncProfile(exporter, profHandle);
        }
            /* ÉGÉNÉXÉ|Å[ÉgëÄçÏÇçsǧ */
        err = GraphicsExportSetOutputFile(exporter, &outputFile);
        err = GraphicsExportDoExport(exporter, &actualSizeWritten);
    }
    .
    .
    .
    if (profHandle)
    {
        DisposeHandle(profHandle);
    }
}

ÉäÉXÉg 1 QuickTime ÉOÉâÉtÉBÉbÉNÉXÉCÉìÉ|Å[É^/ÉGÉNÉXÉ|Å[É^ÇÃÉãÅ[É`ÉìégópéûÇ…ÅAï∂èëÇ…ñÑÇflçûÇ‹ÇÍÇΩ ICC ÉvÉçÉtÉ@ÉCÉãÇï€ë∂Ç∑ÇÈï˚ñ@Çé¶Ç∑ÉRÅ[Éh




[2002 îN 9 åé 4 ì˙]